package com.sugon.modules.sparepart.service;

import com.sugon.entity.SparePartBackEntity;
import com.sugon.entity.vo.SpartPartLyStatItemVO;
import com.sugon.modules.sparepart.model.vo.SparePartApproveParamVO;
import com.sugon.utils.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * @author ： YuXD
 * @description： 备件业务manager
 * @date ： 2020-08-07 下午 2:11
 * @version: 1.0
 */
public interface ISparepartManager {

    /**
     * 备件退库操作
     *
     * @param sparePartBack 备件退库信息实体
     * @return
     */
    boolean cancelStock(SparePartBackEntity sparePartBack);

    /**
     * 批量审核备件清单
     *
     * @param sparePartApproveParam 备件审核参数
     * @return
     */
    boolean batchApprove(SparePartApproveParamVO sparePartApproveParam);

    /**
     * 备件查询通用方法，为PC端和移动端使用
     *
     * @param params 查询参数
     * @return
     */
    PageUtils querySpareParts(Map<String, Object> params);

    /**
     * 备件库存查询通用方法，为PC端和移动端使用
     *
     * @param params 查询参数
     * @return
     */
    PageUtils querySparePartsStock(Map<String, Object> params) throws Exception;

    /**
     * 查询近几年的备件领用统计
     *
     * @param spId      备件ID
     * @param lastYears 近几年念书
     * @return
     */
    List<SpartPartLyStatItemVO> queryLastYearLyStat(String spId, Integer lastYears);

}
